Many transport layer protocols use windows for flow control, including the transport control protocol (TCP), Reliable User Datagram Protocol (RUDP), FastTCP, and others. In protocols such as these, a receiver may send a receive window value to a sender indicating an amount of data the receiver is prepared to accept. The sender may then send up to that amount of data without waiting for an acknowledgement. If the receiver is not prepared to accept any data, the receiver may send a window value indicating a very small or zero-size window. In many implementations of these protocols, the sender-receiver connection may remain open for minutes or even hours, with the sender not sending any data to the receiver because of the indicated zero-size window. This creates the possibility of an attack. A malicious receiver can send one or more requests for data to the sender and then indicates a small or zero-size window. This can tie up memory, processing cycles, transport layer sockets and buffers, and other resources of the sender.